package com.cong.sort.bubble;

public class BubbleSort {
    public static void main(String[] args) {
//        int[] arr = {11, 5, 8, 77, 66, 55, 32};
        int [] unsortArray = {2, 6, 3, 1, 9, 8, 4, 5, 7};
        sort(unsortArray);
        System.out.println();
        print(unsortArray);

    }

    public static void sort(int[] arr) {
        //从后往前遍历数组，
        for (int i = arr.length - 1; i > 0; i--) {
            findMax(arr,i);
        }

    }

    /**
     * 查找第n个位置的最大值
     * 即假如排序后第n个位置的数据应该是多少
     * 数据冒泡到自己应该存在的位置
     * @param arr
     * @param n
     */
    static void findMax(int[] arr,int n){
        for (int i = 0; i < n; i++) {
            if (arr[i]>arr[i+1])swap(arr,i,i+1);
        }
    }
    static void swap(int[] arr, int source, int target) {
        int temp = arr[target];
        arr[target] = arr[source];
        arr[source] = temp;
    }

    static void print(int[] arr) {
        for (int i : arr) {
            System.out.print(i + " ");
        }
    }
}
